home *** CD-ROM | disk | FTP | other *** search
/ MacGames Sampler / PHT MacGames Bundle.iso / MacSource Folder / Samples from the CD / Assembly / Mac68k / EDIT.S < prev    next >
Encoding:
Text File  |  1985-08-23  |  5.2 KB  |  161 lines  |  [TEXT/CYAN]

  1.          IDENT   EDIT
  2.          OPTION  CREF,SUBTTL,appl
  3.          INCLUDES MACTEXT
  4. EDIT     TITLE   CYCLAN EDITOR.
  5.          LIST    I
  6. **       EDIT - SAMPLE PROGRAM TEXT EDITOR.
  7. *
  8. *        COPYRIGHT  (c)  1985  J. R. Hogue
  9. *
  10. EDIT     SPACE   4,10
  11. **       EDIT - CYCLAN EDITOR.
  12. *
  13.  
  14. START    PEA     -4(A5)         ;GRAFPORT
  15.          _InitGraf              ;INITIALIZE MANAGERS
  16.          _InitFonts
  17.          _InitWindows
  18.          _InitMenus
  19.          _TEInit
  20.          CLR.L   -(SP)
  21.          _InitDialogs
  22.          MOVE    #2,-(SP)       ;STANDARD FILE PACKAGE
  23.          _InitPack
  24.          BSR     PRESET         ;INITIALIZE DATA/BUFFERS/PTRS
  25.          BSR     EMENU          ;INITIALIZE MENU LINE
  26.          BSR     EWIND          ;INITIALIZE EDIT WINDOW
  27.          MOVE.L  EDTE(A6),A4    ;SHELL TE HANDLE
  28.          JSR     IOINIT(PC)     ;INITIALIZE I/O ROUTINES
  29.          _InitCursor
  30.          CLR     D0
  31.          BSR     EDIT           ;RUN EDITOR
  32.          RTS                    ;RETURN TO CALLER
  33.  
  34.          INCLUDE CYEDS.S        ;TEXT EDITOR
  35.          INCLUDE CYSUB.S        ;SUBROUTINES
  36. PRESET   SPACE   4,10
  37. **       PRESET - INITIALIZE PROGRAM DATA AREAS.
  38. *
  39. *        ENTRY   A6 - TOP OF .BSS BLOCK. (SET BY CYCLAN LOADER).
  40.  
  41. PRESET   SUB     #LCAL,A6       ;ALLOCATE LOCALS
  42.          MOVE.L  A6,A3
  43.          MOVE    #LCAL/4-1,D0
  44. PRE1     CLR.L   (A3)+          ;CLEAR LOCAL STORAGE AREA
  45.          DBF     D0,PRE1
  46.          MOVE.L  A6,TMEM(A6)
  47.  
  48. *        INITIALIZE FILE TABLES.
  49.  
  50.          MOVE.L  #$400,D1       ;FILE BUFFER SIZE
  51.          LEA     EDFIT(A6),A1   ;FIT ADDRESS
  52.          MOVE.L  A1,EDITF(A6)
  53.          LEA     EDBUF(A6),A2   ;FILE BUFFER
  54.          LEA     BLANKS(PC),A3  ;USE BLANKS FOR A FILE NAME
  55.          MOVE.L  (A3),D5
  56.          JSR     IOINF(PC)      ;INITIALIZE EDIT FILE FIT
  57.          LEA     AFFIT(A6),A1   ;FIT ADDRESS
  58.          MOVE.L  A1,DISKF(A6)
  59.          LEA     AFBUF(A6),A2
  60.          LEA     BLANKS(PC),A3  ;USE BLANKS FOR A FILE NAME
  61.          MOVE.L  (A3),D5
  62.          JSR     IOINF(PC)      ;INITIALIZE ALTERNATE FILE FIT
  63.  
  64. *        MISC.
  65.  
  66.          LEA     CREA(PC),A2    ;SET FILE CREATOR ID
  67.          MOVE.L  #'CYAN',(A2)
  68.          RTS
  69.  
  70. BLANKS   DC.B    32H
  71. CANCEL   STR     ('CANCEL')
  72. ERROR    SPACE   4,10
  73. **       ERROR MESSAGES.
  74.  
  75. EMOPN    DC      #Z'UNABLE TO OPEN - '
  76.  
  77. EMFLN    DC      #Z'INVALID FILE NAME - '
  78.  
  79. EMFCE    DC      #Z'FILE CONTENT ERROR - '
  80.          SPACE   4,10
  81. **       LOCAL VARIABLES (BASE REGISTER = A6).
  82.  
  83.          .OFFSET                LOCAL VARIABLES
  84.  
  85. ALRTB    DS.B    156+14         DIALOG WINDOW RECORD
  86. CTRL     DS.L    1              CONTROL HANDLE
  87. DISKF    DS.B    FITL           SCRATCH FILE FIT
  88. DLTH     DS      1              DELTA H SCROLL
  89. DLTV     DS      1              DELTA V SCROLL
  90. DLWN     DS.L    1              DIALOG POINTER
  91. EDITF    DS.B    FITL           EDIT FILE FIT
  92. EDITT    EQU     DISKF          TEMPORARY EDIT FILE FIT
  93. EDTE     DS.L    1              EDIT TE RECORD HANDLE
  94. EDWN     DS.L    1              EDIT WINDOW HANDLE
  95. ESTY     DS      1              FONT SIZE
  96. FILA     DS.L    1              FIT ADDRESS FOR OPEN EDIT FILE
  97. HNMW     DS.L    1              HANDLE FOR WINDOW OF MOUSE CLICK
  98. ITEMHIT  DS      1              DIALOG VALUE
  99. MNUM     DS      2              MENU BAR/ITEM NUMBERS
  100. MN1H     DS.L    1              MENU COLUMN 1 HANDLE
  101. MN2H     DS.L    1                          2
  102. MN3H     DS.L    1                          3
  103. MN4H     DS.L    1                          4
  104. MN5H     DS.L    1              MENU COLUMN 5 HANDLE
  105. PRNB     DS.B    80             PRINTER I/O RECORD
  106. TEWR     DS.B    156            EDIT WINDOW RECORD
  107. TOTH     DS      1              TOTAL SCROLL DELTA V INTO FILE
  108. TMEM     DS.L    1              TOP OF AVAILABLE MEMORY
  109. VBAR     DS.L    1              VERTCIAL BAR VALUE
  110.  
  111. *        EVENT RECORD.
  112.  
  113. EVTR     DS      0              EVENT RECORD
  114. WHAT     DS      1              EVENT CODE
  115. MESSAGE  DS.L    1              EVENT MESSAGE
  116. WHEN     DS.L    1              TICKS SINCE STARTUP
  117. WHERE    DS.L    1              MOUSE LOCATION
  118. MODFS    DS      1              MODIFIER FLAGS
  119.  
  120. *        SFREPLY RECORD.
  121.  
  122. SFREPLY  DS      0
  123. SFGOOD   DS.B    1              FALSE IF IGNORE COMMAND
  124.          DS.B    1
  125. SFFTYPE  DS.L    1              FILE TYPE
  126. SFVREFN  DS      1              VOLUME REFERENCE NUMBER
  127. SFVERSN  DS      1              FILE VERSION NUMBER
  128. SFNAME   DS.B    1+63           FILE NAME
  129.  
  130. *        BUFFERS.
  131.  
  132. AFBUF    DS.B    $200           ALTERNATE FILE BUFFER
  133. AFFIT    DS.B    FITL           ALTERNATE FILE FIT
  134. DEFVOL   DS.B    100            DEFAULT VOLUME BLOCK
  135. EDBUF    DS.B    $400           EDIT FILE BUFFER
  136. EDFIT    DS.B    FITL           EDIT FILE FIT
  137. FILNAM   DS.B    2+64           FILE NAME
  138. SCRS     DS.B    2+256          SCRATCH BUFFER
  139. VOLNAM   DS.B    2+64           VOLUME NAME
  140.  
  141. *        BYTE FLAGS.
  142.  
  143. EDAF     DS.B    1              EDIT FILE OPEN
  144. EDFN     DS.B    1              EDIT FILE SELECTED
  145. ENDE     DS.B    1              END EDIT SESSION
  146. POPN     DS.B    1              PRINTER PORT OPEN
  147.  
  148. LCAL     DS      0              SIZE OF LOCAL VARIABLES
  149.  
  150.          .BSS                   USE BSS SEGMENT FOR LOCAL VARIABLES
  151.  
  152.          DS.B    32000
  153.          DS.B     8000
  154.  
  155.          .TEXT
  156.  
  157.  
  158.          INCLUDEH CYIOS         SYSTEM INTERFACE ROUTINES
  159.  
  160.          END
  161.